package cn.zhangmh.easymvp.books;

import cn.zhangmh.easymvp.books.entity.Annotation;
import cn.zhangmh.easymvp.books.entity.Annotations;
import cn.zhangmh.easymvp.books.entity.BookBean;
import cn.zhangmh.easymvp.books.entity.Books;
import io.reactivex.Observable;
import retrofit2.http.GET;
import retrofit2.http.Path;
import retrofit2.http.Query;

/**
 * Created by zmh on 2017/5/1.
 */

public interface BooksApi {

    /**
     * 查询图书列表
     * @param name
     * @param tag
     * @param start
     * @param count
     * @return
     */
    @GET("book/search")
    Observable<Books> getSearchBook(@Query("q")  String name ,
                                    @Query("tag") String tag,
                                    @Query("start") int start ,
                                    @Query("count") int count);


    /**
     * 根据id查询图书信息
     * @param id
     * @return
     */
    @GET("book/{id}")
    Observable<BookBean> getBookInfoById(@Path("id") String id);

    /**
     * 获取某本书的笔记
     * @param id
     * @return
     */
    @GET("book/{id}/annotations")
    Observable<Annotations> getBooksAnnotations(@Path("id") String id);

    /**
     * 获取某个笔记的具体信息
     * @param id
     * @return
     */
    @GET("book/annotation/{id}")
    Observable<Annotation> getAnnotation(@Path("id") String id);

    /**
     * 获取丛书书目信息
     * @param id
     * @return
     */
    @GET("book/series/{id}/books")
    Observable<Books> getSeriesBooks(@Path("id") String id);
}
